home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Windows 95 API Bible
/
Windows 95 API Bible 3 Disc Set.iso
/
Win32 API Bible Book 1 of 3
/
CHAPTE24
/
EX3.C
< prev
next >
Wrap
C/C++ Source or Header
|
1995-07-04
|
2KB
|
47 lines
#include <stdlib.h>
#include <genstub.c>
LRESULT CALLBACK WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_COMMAND: // Process menu options.
switch ( LOWORD( wParam ) )
{
case IDM_TEST: // Get Performance Counter data.
{ // Display data in message box.
TCHAR szBuffer[128];
LARGE_INTEGER liPerfFreq = {0, 0};
LARGE_INTEGER liPerfCount = {0, 0};
if ( QueryPerformanceCounter( &liPerfCount ) )
{
TCHAR szCounter[28]; /* includes space for exponent */
double dCounter = (double) liPerfCount.LowPart +
(double) liPerfCount.HighPart *
(double) 0xFFFFFFFFFFFFFFFF;
QueryPerformanceFrequency( &liPerfFreq );
wsprintf( szBuffer,
"Count: %s, Resolution: %lu",
gcvt( dCounter, 20, (char *)szCounter ),
liPerfFreq.LowPart );
}
else
lstrcpy( szBuffer,
"No high-resolution performance counter." );
MessageBox( hWnd, szBuffer,
"Performance Counter Report", MB_OK );
}
break;
case IDM_EXIT:
DestroyWindow( hWnd );
break;
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return( DefWindowProc( hWnd, uMsg, wParam, lParam ) );
}
return (NULL);
}